namespace ghost
{
    export class EffectParamsCfg
    {        
        public static getEffectById(effectId:number):EffectParamsCfg[]
        {
            // let cfg:any = ConfigMgr.cfgGetById("effect", effectId);
            // return cfg;
            return null;
        }
        constructor(effectType:number, time:number=0)
        {            
            let s= this;            
            s.effectType = effectType;
            s._time = time;
        }
        public dataSet(tableLine:Object_effectParams):void
        {            
            let s= this;
            let effectParams:Object_effectParams;            
            effectParams = tableLine;            
            
            s.id = effectParams.effectID;
            s.cfgLayer = effectParams.layer;
            s.layer = Conf.getLayerType(s.cfgLayer);
            s.offsetX = effectParams.offsetX|0;
            s.offsetY = effectParams.offsetY|0;
            s.offsetH = effectParams.offsetH|0;
            s.time = effectParams.delay > 0?effectParams.delay:(s._time>0?s._time:0);
            s.notDir = effectParams.noDir;
            s.flyUseTime = effectParams.flyUseTime|0;
            s.penatrateNum = effectParams.penatrateNum|0;
            s.hitLimit = effectParams.hitLimit?effectParams.hitLimit:1;
            s.notRotate = effectParams.notRotate;
            s.ballisticParams = effectParams.ballisticParams;
            s.reachDisappear = effectParams.reachDisappear;
        }
        /**特效id*/id:number;      
        /**层级，配置的层级，Conf.getLayerType转换成layer*/cfgLayer:number;  
        /**层级，参考LayerType常量*/layer:number;
        /**相对释放角色偏移X*/offsetX:number;
        /**相对释放角色偏移Y*/offsetY:number;    
        /**相对释放角色偏移H*/offsetH:number;    
        /**出现时间（相对攻击动作为起点,存在时间起点，相对时间起点算）*/time:number;
        /**时间起点*/timeTicker:map2D.TimeTicker;
        /**0表示跟随动作方向 1不跟随动作方向 2表示跟随动作方向再翻转一次*/notDir:number;
        /**飞行使用的时间（毫秒）*/flyUseTime:number;     
        /**穿透数量，默认0，999999个*/penatrateNum:number;        
        /**击打次数限制，默认0，不限制*/hitLimit:number;   
        /**是否不自动旋转，默认0，自动旋转*/notRotate:number;
        /**是否到达目标点消失*/reachDisappear:number;
        /**弹道参数[类型，...其他参数]
         * 弹道类型
            默认0
            0=普通直线飞行
            1=跟踪弹道，[1, 是否只认目标]
            2=斜抛发射，[2, 斜抛高度（像素一般100）]
            3=跟踪且斜抛发射，[3, 是否只认目标, 斜抛高度（像素一般100）]
        */
        ballisticParams:number[];
        /**特效类型*/effectType:number;   

        protected _time:number;
    }    
}